{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-automation-core",
      "artifactVersion": "7.10-HF07",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.ecm.automation.core",
          "org.nuxeo.ecm.automation.features",
          "org.nuxeo.ecm.automation.io",
          "org.nuxeo.ecm.automation.jsf",
          "org.nuxeo.ecm.automation.scripting",
          "org.nuxeo.ecm.automation.server"
        ],
        "hierarchyPath": "/grp:org.nuxeo.ecm.automation",
        "id": "grp:org.nuxeo.ecm.automation",
        "name": "org.nuxeo.ecm.automation",
        "parentIds": [],
        "readmes": [],
        "version": "7.10"
      },
      "bundleId": "org.nuxeo.ecm.automation.core",
      "components": [
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.automation.core.AutomationComponent",
          "documentation": "@author Bogdan Stefanescu (bs@nuxeo.com)\n",
          "documentationHtml": "<p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.operation.OperationServiceComponent",
              "descriptors": [
                "org.nuxeo.ecm.automation.core.events.EventHandler"
              ],
              "documentation": "Core Event Handlers bound to operations\n",
              "documentationHtml": "<p>\nCore Event Handlers bound to operations</p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.operation.OperationServiceComponent/ExtensionPoints/org.nuxeo.ecm.core.operation.OperationServiceComponent--event-handlers",
              "id": "org.nuxeo.ecm.core.operation.OperationServiceComponent--event-handlers",
              "label": "event-handlers (org.nuxeo.ecm.core.operation.OperationServiceComponent)",
              "name": "event-handlers",
              "version": "7.10-HF07"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.operation.OperationServiceComponent",
              "descriptors": [
                "org.nuxeo.ecm.automation.context.ContextHelperDescriptor"
              ],
              "documentation": "\n      @since 7.3\n      @author Vladimir Pasquier (vpasquier@nuxeo.com)\n      Context helper functions contribution.\n      Example:\n      <code>\n    <contextHelper\n        class=\"org.nuxeo.ecm.automation.features.PlatformFunctions\" id=\"platformFunctions\"/>\n</code>\n",
              "documentationHtml": "<p>\n&#64;since 7.3\n</p><p>\nContext helper functions contribution.\nExample:\n</p><p></p><pre><code>    &lt;contextHelper\n        class&#61;&#34;org.nuxeo.ecm.automation.features.PlatformFunctions&#34; id&#61;&#34;platformFunctions&#34;/&gt;\n</code></pre><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.operation.OperationServiceComponent/ExtensionPoints/org.nuxeo.ecm.core.operation.OperationServiceComponent--contextHelpers",
              "id": "org.nuxeo.ecm.core.operation.OperationServiceComponent--contextHelpers",
              "label": "contextHelpers (org.nuxeo.ecm.core.operation.OperationServiceComponent)",
              "name": "contextHelpers",
              "version": "7.10-HF07"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.operation.OperationServiceComponent",
              "descriptors": [
                "org.nuxeo.ecm.automation.core.OperationContribution"
              ],
              "documentation": "Operation registration\n",
              "documentationHtml": "<p>\nOperation registration</p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.operation.OperationServiceComponent/ExtensionPoints/org.nuxeo.ecm.core.operation.OperationServiceComponent--operations",
              "id": "org.nuxeo.ecm.core.operation.OperationServiceComponent--operations",
              "label": "operations (org.nuxeo.ecm.core.operation.OperationServiceComponent)",
              "name": "operations",
              "version": "7.10-HF07"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.operation.OperationServiceComponent",
              "descriptors": [
                "org.nuxeo.ecm.automation.core.AutomationFilterDescriptor"
              ],
              "documentation": "\n      @since 5.7.3\n      @author Vladimir Pasquier (vpasquier@nuxeo.com)\n\n      Automation Filter registration. See one usage of the filter into Chain Exception extension point: chainException.\n\n      Example of Automation filter:\n\n      <code>\n    <filter id=\"filterA\">expr:@{Document['dc:title']=='file'}</filter>\n    <filter id=\"filterB\">expr:@{Document['dc:title']=='document'}</filter>\n</code>\n",
              "documentationHtml": "<p>\n&#64;since 5.7.3\n</p><p>\nAutomation Filter registration. See one usage of the filter into Chain Exception extension point: chainException.\n</p><p>\nExample of Automation filter:\n</p><p>\n</p><pre><code>    &lt;filter id&#61;&#34;filterA&#34;&gt;expr:&#64;{Document[&#39;dc:title&#39;]&#61;&#61;&#39;file&#39;}&lt;/filter&gt;\n    &lt;filter id&#61;&#34;filterB&#34;&gt;expr:&#64;{Document[&#39;dc:title&#39;]&#61;&#61;&#39;document&#39;}&lt;/filter&gt;\n</code></pre><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.operation.OperationServiceComponent/ExtensionPoints/org.nuxeo.ecm.core.operation.OperationServiceComponent--automationFilter",
              "id": "org.nuxeo.ecm.core.operation.OperationServiceComponent--automationFilter",
              "label": "automationFilter (org.nuxeo.ecm.core.operation.OperationServiceComponent)",
              "name": "automationFilter",
              "version": "7.10-HF07"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.operation.OperationServiceComponent",
              "descriptors": [
                "org.nuxeo.ecm.automation.core.OperationChainContribution"
              ],
              "documentation": "Operation Chain registration\n",
              "documentationHtml": "<p>\nOperation Chain registration</p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.operation.OperationServiceComponent/ExtensionPoints/org.nuxeo.ecm.core.operation.OperationServiceComponent--chains",
              "id": "org.nuxeo.ecm.core.operation.OperationServiceComponent--chains",
              "label": "chains (org.nuxeo.ecm.core.operation.OperationServiceComponent)",
              "name": "chains",
              "version": "7.10-HF07"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.operation.OperationServiceComponent",
              "descriptors": [
                "org.nuxeo.ecm.automation.core.ChainExceptionDescriptor"
              ],
              "documentation": "\n      @since 5.7.3\n      @author Vladimir Pasquier (vpasquier@nuxeo.com)\n\n      Chain Exception registration.\n      Chain exception provides mean, during an Automation execution, to catch for a given chain, exception and to run\n      specific chain/operation. Filter condition (filterException extension point), order (priority) and rollback\n      options are available.\n\n      Example of chain exception:\n\n      <code>\n    <catchChain id=\"catchChainA\" onChainId=\"contributedchain\">\n        <run chainId=\"chainException\" filterId=\"filterA\" priority=\"0\" rollBack=\"false\"/>\n        <run chainId=\"chainException\" filterId=\"filterA\" priority=\"0\" rollBack=\"false\"/>\n        <run chainId=\"chainException\" filterId=\"filterB\" priority=\"10\" rollBack=\"true\"/>\n    </catchChain>\n</code>\n",
              "documentationHtml": "<p>\n&#64;since 5.7.3\n</p><p>\nChain Exception registration.\nChain exception provides mean, during an Automation execution, to catch for a given chain, exception and to run\nspecific chain/operation. Filter condition (filterException extension point), order (priority) and rollback\noptions are available.\n</p><p>\nExample of chain exception:\n</p><p>\n</p><pre><code>    &lt;catchChain id&#61;&#34;catchChainA&#34; onChainId&#61;&#34;contributedchain&#34;&gt;\n        &lt;run chainId&#61;&#34;chainException&#34; filterId&#61;&#34;filterA&#34; priority&#61;&#34;0&#34; rollBack&#61;&#34;false&#34;/&gt;\n        &lt;run chainId&#61;&#34;chainException&#34; filterId&#61;&#34;filterA&#34; priority&#61;&#34;0&#34; rollBack&#61;&#34;false&#34;/&gt;\n        &lt;run chainId&#61;&#34;chainException&#34; filterId&#61;&#34;filterB&#34; priority&#61;&#34;10&#34; rollBack&#61;&#34;true&#34;/&gt;\n    &lt;/catchChain&gt;\n</code></pre><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.operation.OperationServiceComponent/ExtensionPoints/org.nuxeo.ecm.core.operation.OperationServiceComponent--chainException",
              "id": "org.nuxeo.ecm.core.operation.OperationServiceComponent--chainException",
              "label": "chainException (org.nuxeo.ecm.core.operation.OperationServiceComponent)",
              "name": "chainException",
              "version": "7.10-HF07"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.operation.OperationServiceComponent",
              "descriptors": [
                "org.nuxeo.ecm.automation.core.TypeAdapterContribution"
              ],
              "documentation": "Type adapter registration\n",
              "documentationHtml": "<p>\nType adapter registration</p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.operation.OperationServiceComponent/ExtensionPoints/org.nuxeo.ecm.core.operation.OperationServiceComponent--adapters",
              "id": "org.nuxeo.ecm.core.operation.OperationServiceComponent--adapters",
              "label": "adapters (org.nuxeo.ecm.core.operation.OperationServiceComponent)",
              "name": "adapters",
              "version": "7.10-HF07"
            }
          ],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.operation.OperationServiceComponent--adapters",
              "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.operation.OperationServiceComponent/Contributions/org.nuxeo.ecm.core.operation.OperationServiceComponent--adapters",
              "id": "org.nuxeo.ecm.core.operation.OperationServiceComponent--adapters",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.operation.OperationServiceComponent",
                "name": "org.nuxeo.ecm.core.operation.OperationServiceComponent",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"adapters\" target=\"org.nuxeo.ecm.core.operation.OperationServiceComponent\">\n    <adapter accept=\"java.lang.String\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToDocRef\" produce=\"org.nuxeo.ecm.core.api.DocumentRef\"/>\n    <adapter accept=\"java.lang.String\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToDocModel\" produce=\"org.nuxeo.ecm.core.api.DocumentModel\"/>\n    <adapter accept=\"org.nuxeo.ecm.core.api.DocumentModel\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.DocModelToDocRef\" produce=\"org.nuxeo.ecm.core.api.DocumentRef\"/>\n    <adapter accept=\"org.nuxeo.ecm.core.api.DocumentRef\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.DocRefToDocModel\" produce=\"org.nuxeo.ecm.core.api.DocumentModel\"/>\n    <adapter accept=\"org.nuxeo.ecm.core.api.DocumentModelList\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.DocModelListToDocRefList\" produce=\"org.nuxeo.ecm.core.api.DocumentRefList\"/>\n    <adapter accept=\"org.nuxeo.ecm.core.api.DocumentModel\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.DocModelToDocRefList\" produce=\"org.nuxeo.ecm.core.api.DocumentRefList\"/>\n    <adapter accept=\"org.nuxeo.ecm.core.api.DocumentModel\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.DocModelToDocModelList\" produce=\"org.nuxeo.ecm.core.api.DocumentModelList\"/>\n    <adapter accept=\"org.nuxeo.ecm.core.api.DocumentRefList\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.DocRefListToDocModelList\" produce=\"org.nuxeo.ecm.core.api.DocumentModelList\"/>\n    <adapter accept=\"org.nuxeo.ecm.core.api.DocumentRef\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.DocRefToDocModelList\" produce=\"org.nuxeo.ecm.core.api.DocumentModelList\"/>\n    <adapter accept=\"org.nuxeo.ecm.core.api.DocumentRef\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.DocRefToDocRefList\" produce=\"org.nuxeo.ecm.core.api.DocumentRefList\"/>\n    <adapter accept=\"java.lang.String\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToProperties\" produce=\"org.nuxeo.ecm.automation.core.util.Properties\"/>\n    <adapter accept=\"org.codehaus.jackson.JsonNode\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.JsonNodeToProperties\" produce=\"org.nuxeo.ecm.automation.core.util.Properties\"/>\n    <adapter accept=\"java.lang.String\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToURL\" produce=\"java.net.URL\"/>\n    <adapter accept=\"java.lang.String\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToDate\" produce=\"java.util.Date\"/>\n    <adapter accept=\"java.lang.String\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToCalendar\" produce=\"java.util.Calendar\"/>\n    <adapter accept=\"java.util.Calendar\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.CalendarToDate\" produce=\"java.util.Date\"/>\n    <adapter accept=\"java.lang.String\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToList\" produce=\"org.nuxeo.ecm.automation.core.util.StringList\"/>\n    <adapter accept=\"java.lang.String\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToBoolean\" produce=\"java.lang.Boolean\"/>\n    <adapter accept=\"java.lang.String\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToInteger\" produce=\"java.lang.Integer\"/>\n    <adapter accept=\"java.lang.String\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToLong\" produce=\"java.lang.Long\"/>\n    <adapter accept=\"java.lang.Integer\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.IntegerToLong\" produce=\"java.lang.Long\"/>\n    <adapter accept=\"java.lang.Long\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.LongToInteger\" produce=\"java.lang.Integer\"/>\n    <adapter accept=\"[Ljava.lang.String;\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.ArrayStringToList\" produce=\"org.nuxeo.ecm.automation.core.util.StringList\"/>\n    <adapter accept=\"java.util.ArrayList\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.ArrayListToStringList\" produce=\"org.nuxeo.ecm.automation.core.util.StringList\"/>\n    <adapter accept=\"org.codehaus.jackson.node.ObjectNode\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.ObjectNodeToMap\" produce=\"java.util.Map\"/>\n    <adapter accept=\"org.codehaus.jackson.node.ArrayNode\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.ArrayNodeToList\" produce=\"java.util.List\"/>\n    <adapter accept=\"[Ljava.lang.String;\" class=\"org.nuxeo.ecm.automation.core.impl.adapters.ArrayStringToDocModelList\" produce=\"org.nuxeo.ecm.core.api.DocumentModelList\"/>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.event.EventServiceComponent--listener",
              "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.operation.OperationServiceComponent/Contributions/org.nuxeo.ecm.core.operation.OperationServiceComponent--listener",
              "id": "org.nuxeo.ecm.core.operation.OperationServiceComponent--listener",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.event.EventServiceComponent",
                "name": "org.nuxeo.ecm.core.event.EventServiceComponent",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"listener\" target=\"org.nuxeo.ecm.core.event.EventServiceComponent\">\n\n    <listener async=\"false\" class=\"org.nuxeo.ecm.automation.core.events.OperationEventListener\" name=\"opchainlistener\" postCommit=\"false\" priority=\"200\">\n    </listener>\n\n    <listener async=\"true\" class=\"org.nuxeo.ecm.automation.core.events.PostCommitOperationEventListener\" name=\"opchainpclistener\" postCommit=\"true\" priority=\"200\">\n    </listener>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.operation.OperationServiceComponent",
          "name": "org.nuxeo.ecm.core.operation.OperationServiceComponent",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.core.operation.OperationServiceComponent",
              "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.operation.OperationServiceComponent/Services/org.nuxeo.ecm.automation.context.ContextService",
              "id": "org.nuxeo.ecm.automation.context.ContextService",
              "overriden": false,
              "version": "7.10-HF07"
            },
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.core.operation.OperationServiceComponent",
              "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.operation.OperationServiceComponent/Services/org.nuxeo.ecm.automation.AutomationAdmin",
              "id": "org.nuxeo.ecm.automation.AutomationAdmin",
              "overriden": false,
              "version": "7.10-HF07"
            },
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.core.operation.OperationServiceComponent",
              "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.operation.OperationServiceComponent/Services/org.nuxeo.ecm.automation.core.events.EventHandlerRegistry",
              "id": "org.nuxeo.ecm.automation.core.events.EventHandlerRegistry",
              "overriden": false,
              "version": "7.10-HF07"
            },
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.core.operation.OperationServiceComponent",
              "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.operation.OperationServiceComponent/Services/org.nuxeo.ecm.automation.core.trace.TracerFactory",
              "id": "org.nuxeo.ecm.automation.core.trace.TracerFactory",
              "overriden": false,
              "version": "7.10-HF07"
            },
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.core.operation.OperationServiceComponent",
              "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.operation.OperationServiceComponent/Services/org.nuxeo.ecm.automation.AutomationService",
              "id": "org.nuxeo.ecm.automation.AutomationService",
              "overriden": false,
              "version": "7.10-HF07"
            }
          ],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.operation.OperationServiceComponent\"\n  version=\"1.0\">\n  <!-- TODO: cannot rename this component since studio is using the old name - fix this\n    <component name=\"org.nuxeo.ecm.automation.core.AutomationComponent\" version=\"1.0\">\n  -->\n\n  <documentation>@author Bogdan Stefanescu (bs@nuxeo.com)</documentation>\n\n  <implementation class=\"org.nuxeo.ecm.automation.core.AutomationComponent\" />\n\n  <require>org.nuxeo.runtime.management.ServerLocator</require>\n  \n  <service>\n    <provide interface=\"org.nuxeo.ecm.automation.AutomationService\" />\n    <provide interface=\"org.nuxeo.ecm.automation.AutomationAdmin\" />\n    <provide\n            interface=\"org.nuxeo.ecm.automation.core.events.EventHandlerRegistry\" />\n    <provide interface=\"org.nuxeo.ecm.automation.core.trace.TracerFactory\" />\n    <provide interface=\"org.nuxeo.ecm.automation.context.ContextService\" />\n  </service>\n\n  <extension-point name=\"operations\">\n    <documentation>Operation registration</documentation>\n    <object class=\"org.nuxeo.ecm.automation.core.OperationContribution\" />\n  </extension-point>\n\n  <extension-point name=\"adapters\">\n    <documentation>Type adapter registration</documentation>\n    <object class=\"org.nuxeo.ecm.automation.core.TypeAdapterContribution\" />\n  </extension-point>\n\n  <extension-point name=\"chains\">\n    <documentation>Operation Chain registration</documentation>\n    <object class=\"org.nuxeo.ecm.automation.core.OperationChainContribution\" />\n  </extension-point>\n\n  <extension-point name=\"chainException\">\n    <documentation>\n      @since 5.7.3\n      @author Vladimir Pasquier (vpasquier@nuxeo.com)\n\n      Chain Exception registration.\n      Chain exception provides mean, during an Automation execution, to catch for a given chain, exception and to run\n      specific chain/operation. Filter condition (filterException extension point), order (priority) and rollback\n      options are available.\n\n      Example of chain exception:\n\n      <code>\n        <catchChain id=\"catchChainA\" onChainId=\"contributedchain\">\n          <run chainId=\"chainException\" priority=\"0\" rollBack=\"false\" filterId=\"filterA\"/>\n          <run chainId=\"chainException\" priority=\"0\" rollBack=\"false\" filterId=\"filterA\"/>\n          <run chainId=\"chainException\" priority=\"10\" rollBack=\"true\" filterId=\"filterB\"/>\n        </catchChain>\n      </code>\n    </documentation>\n    <object class=\"org.nuxeo.ecm.automation.core.ChainExceptionDescriptor\"/>\n  </extension-point>\n\n  <extension-point name=\"automationFilter\">\n    <documentation>\n      @since 5.7.3\n      @author Vladimir Pasquier (vpasquier@nuxeo.com)\n\n      Automation Filter registration. See one usage of the filter into Chain Exception extension point: chainException.\n\n      Example of Automation filter:\n\n      <code>\n        <filter id=\"filterA\">expr:@{Document['dc:title']=='file'}</filter>\n        <filter id=\"filterB\">expr:@{Document['dc:title']=='document'}</filter>\n      </code>\n    </documentation>\n    <object class=\"org.nuxeo.ecm.automation.core.AutomationFilterDescriptor\"/>\n  </extension-point>\n\n  <extension-point name=\"event-handlers\">\n    <documentation>Core Event Handlers bound to operations</documentation>\n    <object class=\"org.nuxeo.ecm.automation.core.events.EventHandler\" />\n  </extension-point>\n\n  <extension-point name=\"contextHelpers\">\n    <documentation>\n      @since 7.3\n      @author Vladimir Pasquier (vpasquier@nuxeo.com)\n      Context helper functions contribution.\n      Example:\n      <code>\n        <contextHelper id=\"platformFunctions\" class=\"org.nuxeo.ecm.automation.features.PlatformFunctions\"/>\n      </code>\n    </documentation>\n    <object class=\"org.nuxeo.ecm.automation.context.ContextHelperDescriptor\"/>\n  </extension-point>\n\n  <extension target=\"org.nuxeo.ecm.core.operation.OperationServiceComponent\"\n    point=\"adapters\">\n    <adapter class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToDocRef\"\n      accept=\"java.lang.String\" produce=\"org.nuxeo.ecm.core.api.DocumentRef\" />\n    <adapter\n      class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToDocModel\"\n      accept=\"java.lang.String\" produce=\"org.nuxeo.ecm.core.api.DocumentModel\" />\n    <adapter\n      class=\"org.nuxeo.ecm.automation.core.impl.adapters.DocModelToDocRef\"\n      accept=\"org.nuxeo.ecm.core.api.DocumentModel\"\n      produce=\"org.nuxeo.ecm.core.api.DocumentRef\" />\n    <adapter\n      class=\"org.nuxeo.ecm.automation.core.impl.adapters.DocRefToDocModel\"\n      accept=\"org.nuxeo.ecm.core.api.DocumentRef\"\n      produce=\"org.nuxeo.ecm.core.api.DocumentModel\" />\n    <adapter\n      class=\"org.nuxeo.ecm.automation.core.impl.adapters.DocModelListToDocRefList\"\n      accept=\"org.nuxeo.ecm.core.api.DocumentModelList\"\n      produce=\"org.nuxeo.ecm.core.api.DocumentRefList\" />\n    <adapter\n      class=\"org.nuxeo.ecm.automation.core.impl.adapters.DocModelToDocRefList\"\n      accept=\"org.nuxeo.ecm.core.api.DocumentModel\"\n      produce=\"org.nuxeo.ecm.core.api.DocumentRefList\" />\n    <adapter\n      class=\"org.nuxeo.ecm.automation.core.impl.adapters.DocModelToDocModelList\"\n      accept=\"org.nuxeo.ecm.core.api.DocumentModel\"\n      produce=\"org.nuxeo.ecm.core.api.DocumentModelList\" />\n    <adapter\n      class=\"org.nuxeo.ecm.automation.core.impl.adapters.DocRefListToDocModelList\"\n      accept=\"org.nuxeo.ecm.core.api.DocumentRefList\"\n      produce=\"org.nuxeo.ecm.core.api.DocumentModelList\" />\n    <adapter\n      class=\"org.nuxeo.ecm.automation.core.impl.adapters.DocRefToDocModelList\"\n      accept=\"org.nuxeo.ecm.core.api.DocumentRef\"\n      produce=\"org.nuxeo.ecm.core.api.DocumentModelList\" />\n    <adapter\n      class=\"org.nuxeo.ecm.automation.core.impl.adapters.DocRefToDocRefList\"\n      accept=\"org.nuxeo.ecm.core.api.DocumentRef\"\n      produce=\"org.nuxeo.ecm.core.api.DocumentRefList\" />\n    <adapter\n      class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToProperties\"\n      accept=\"java.lang.String\"\n      produce=\"org.nuxeo.ecm.automation.core.util.Properties\" />\n    <adapter\n      class=\"org.nuxeo.ecm.automation.core.impl.adapters.JsonNodeToProperties\"\n      accept=\"org.codehaus.jackson.JsonNode\"\n      produce=\"org.nuxeo.ecm.automation.core.util.Properties\" />\n    <adapter class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToURL\"\n      accept=\"java.lang.String\" produce=\"java.net.URL\" />\n    <adapter class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToDate\"\n      accept=\"java.lang.String\" produce=\"java.util.Date\" />\n    <adapter class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToCalendar\"\n      accept=\"java.lang.String\" produce=\"java.util.Calendar\" />\n    <adapter class=\"org.nuxeo.ecm.automation.core.impl.adapters.CalendarToDate\"\n      accept=\"java.util.Calendar\" produce=\"java.util.Date\" />\n    <adapter class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToList\"\n      accept=\"java.lang.String\"\n      produce=\"org.nuxeo.ecm.automation.core.util.StringList\" />\n    <adapter class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToBoolean\"\n      accept=\"java.lang.String\"\n      produce=\"java.lang.Boolean\" />\n    <adapter class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToInteger\"\n      accept=\"java.lang.String\"\n      produce=\"java.lang.Integer\" />\n    <adapter class=\"org.nuxeo.ecm.automation.core.impl.adapters.StringToLong\"\n      accept=\"java.lang.String\"\n      produce=\"java.lang.Long\" />\n    <adapter class=\"org.nuxeo.ecm.automation.core.impl.adapters.IntegerToLong\"\n      accept=\"java.lang.Integer\"\n      produce=\"java.lang.Long\" />\n    <adapter class=\"org.nuxeo.ecm.automation.core.impl.adapters.LongToInteger\"\n      accept=\"java.lang.Long\"\n      produce=\"java.lang.Integer\" />\n    <adapter class=\"org.nuxeo.ecm.automation.core.impl.adapters.ArrayStringToList\"\n      accept=\"[Ljava.lang.String;\"\n      produce=\"org.nuxeo.ecm.automation.core.util.StringList\" />\n    <adapter class=\"org.nuxeo.ecm.automation.core.impl.adapters.ArrayListToStringList\"\n             accept=\"java.util.ArrayList\"\n             produce=\"org.nuxeo.ecm.automation.core.util.StringList\" />\n    <adapter class=\"org.nuxeo.ecm.automation.core.impl.adapters.ObjectNodeToMap\"\n      accept=\"org.codehaus.jackson.node.ObjectNode\"\n      produce=\"java.util.Map\" />\n    <adapter class=\"org.nuxeo.ecm.automation.core.impl.adapters.ArrayNodeToList\"\n      accept=\"org.codehaus.jackson.node.ArrayNode\"\n      produce=\"java.util.List\" />\n    <adapter class=\"org.nuxeo.ecm.automation.core.impl.adapters.ArrayStringToDocModelList\"\n             accept=\"[Ljava.lang.String;\"\n             produce=\"org.nuxeo.ecm.core.api.DocumentModelList\" />\n\n  </extension>\n\n\n  <extension target=\"org.nuxeo.ecm.core.event.EventServiceComponent\"\n    point=\"listener\">\n\n    <listener name=\"opchainlistener\" async=\"false\" postCommit=\"false\"\n      class=\"org.nuxeo.ecm.automation.core.events.OperationEventListener\"\n      priority=\"200\">\n    </listener>\n\n    <listener name=\"opchainpclistener\" async=\"true\" postCommit=\"true\"\n      class=\"org.nuxeo.ecm.automation.core.events.PostCommitOperationEventListener\"\n      priority=\"200\">\n    </listener>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/AutomationService.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.EventService--listeners",
              "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.automation.core.impl.ReloadListener/Contributions/org.nuxeo.ecm.automation.core.impl.ReloadListener--listeners",
              "id": "org.nuxeo.ecm.automation.core.impl.ReloadListener--listeners",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.EventService",
                "name": "org.nuxeo.runtime.EventService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"listeners\" target=\"org.nuxeo.runtime.EventService\">\n        <listener class=\"org.nuxeo.ecm.automation.core.impl.ReloadListener\">\n            <topic>org.nuxeo.runtime.reload</topic>\n        </listener>\n    </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.automation.core.impl.ReloadListener",
          "name": "org.nuxeo.ecm.automation.core.impl.ReloadListener",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.automation.core.impl.ReloadListener\">\n\n    <extension target=\"org.nuxeo.runtime.EventService\" point=\"listeners\">\n        <listener class=\"org.nuxeo.ecm.automation.core.impl.ReloadListener\">\n            <topic>org.nuxeo.runtime.reload</topic>\n        </listener>\n    </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/reload-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentation": "@author Guillaume Renard (grenard@nuxeo.com)\n",
          "documentationHtml": "<p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.operation.OperationServiceComponent--operations",
              "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.automation.coreContrib/Contributions/org.nuxeo.ecm.core.automation.coreContrib--operations",
              "id": "org.nuxeo.ecm.core.automation.coreContrib--operations",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.operation.OperationServiceComponent",
                "name": "org.nuxeo.ecm.core.operation.OperationServiceComponent",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"operations\" target=\"org.nuxeo.ecm.core.operation.OperationServiceComponent\">\n\n    <!-- register built-in operations -->\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.FetchContextDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.FetchContextBlob\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.SetVar\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PushDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PushDocumentList\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PopDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PopDocumentList\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.SetInputAsVar\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.RestoreDocumentInput\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.RestoreDocumentsInput\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.RestoreBlobInput\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.RestoreBlobsInput\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.RunScript\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.RestoreDocumentInputFromScript\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.RestoreDocumentsInputFromScript\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.RestoreBlobInputFromScript\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.RestoreBlobsInputFromScript\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.execution.RunOperation\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.execution.RunOperationOnList\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.execution.RunInNewTransaction\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.execution.RunDocumentChain\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.execution.RunFileChain\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.CopyDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.CreateDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.CreateVersion\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.CheckInDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.CheckOutDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.RestoreVersion\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.DeleteDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.FetchDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.LockDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.FetchByProperty\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.FilterDocuments\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.UnlockDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.GetDocumentChildren\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.GetDocumentChild\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.GetDocumentParent\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.GetDocumentVersions\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.MoveDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.ReloadDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.SaveDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.execution.SaveSession\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.SetDocumentLifeCycle\">\n      <widgets>\n        <widget name=\"value\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">Value</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">lifecycle</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>value</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.SetDocumentACE\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.AddPermission\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.ReplacePermission\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.RemovePermission\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.BlockPermissionInheritance\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.UnblockPermissionInheritance\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.RemoveDocumentACL\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.SetDocumentProperty\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.RemoveProperty\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.UpdateDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.PublishDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.MultiPublishDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.GetDocumentBlob\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.GetDocumentBlobs\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.GetAllDocumentBlobs\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.SetDocumentBlob\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.PostBlob\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.BlobToPDF\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.ConcatenatePDFs\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.ConvertBlob\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.RunConverter\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.BlobToFile\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.CreateBlob\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.CreateZip\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.AttachBlob\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.SetBlobFileName\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.RemoveDocumentBlob\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PushBlob\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PushBlobList\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PopBlob\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PopBlobList\"/>\n\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PullDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PullDocumentList\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PullBlob\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PullBlobList\"/>\n\n    <operation class=\"org.nuxeo.ecm.automation.core.events.operations.FireEvent\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.RunInputScript\"/>\n\n    <operation class=\"org.nuxeo.ecm.automation.core.rendering.operations.RenderDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.rendering.operations.RenderDocumentFeed\"/>\n\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.login.LoginAs\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.login.Logout\"/>\n\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.LogOperation\"/>\n\n    <!-- From presales toolkit -->\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.AddEntryToMultiValuedProperty\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.CreateProxyLive\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.GetLiveDocument\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.RemoveEntryOfMultiValuedProperty\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n\n    <!-- Business Operations -->\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.business.BusinessCreateOperation\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.business.BusinessUpdateOperation\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.business.BusinessFetchOperation\"/>\n\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.execution.RunOperationOnListInNewTransaction\"/>\n\n    <!-- register built-in operations -->\n    <!-- operation class=\"org.nuxeo.ecm.automation.core.operations.RunScriptFile\"\n      / -->\n\n    <!-- Trace related operations -->\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.traces.AutomationTraceGetOperation\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.traces.AutomationTraceToggleOperation\"/>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.traces.JsonStackToggleDisplayOperation\"/>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.automation.coreContrib",
          "name": "org.nuxeo.ecm.core.automation.coreContrib",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.automation.coreContrib\" version=\"1.0\">\n\n  <documentation>@author Guillaume Renard (grenard@nuxeo.com)</documentation>\n\n  <extension target=\"org.nuxeo.ecm.core.operation.OperationServiceComponent\"\n    point=\"operations\">\n\n    <!-- register built-in operations -->\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.FetchContextDocument\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.FetchContextBlob\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.SetVar\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PushDocument\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PushDocumentList\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PopDocument\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PopDocumentList\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.SetInputAsVar\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.RestoreDocumentInput\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.RestoreDocumentsInput\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.RestoreBlobInput\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.RestoreBlobsInput\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.RunScript\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.RestoreDocumentInputFromScript\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.RestoreDocumentsInputFromScript\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.RestoreBlobInputFromScript\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.RestoreBlobsInputFromScript\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.execution.RunOperation\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.execution.RunOperationOnList\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.execution.RunInNewTransaction\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.execution.RunDocumentChain\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.execution.RunFileChain\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.CopyDocument\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.CreateDocument\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.CreateVersion\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.CheckInDocument\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.CheckOutDocument\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.RestoreVersion\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.DeleteDocument\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.FetchDocument\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.LockDocument\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.FetchByProperty\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.FilterDocuments\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.UnlockDocument\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.GetDocumentChildren\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.GetDocumentChild\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.GetDocumentParent\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.GetDocumentVersions\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.MoveDocument\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.ReloadDocument\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.SaveDocument\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.execution.SaveSession\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.SetDocumentLifeCycle\">\n      <widgets>\n        <widget name=\"value\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">Value</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">lifecycle</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>value</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.SetDocumentACE\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.AddPermission\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.ReplacePermission\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.RemovePermission\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.BlockPermissionInheritance\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.document.UnblockPermissionInheritance\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.RemoveDocumentACL\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.SetDocumentProperty\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.RemoveProperty\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.UpdateDocument\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.PublishDocument\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.MultiPublishDocument\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.GetDocumentBlob\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.GetDocumentBlobs\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.blob.GetAllDocumentBlobs\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.SetDocumentBlob\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.PostBlob\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.BlobToPDF\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.ConcatenatePDFs\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.ConvertBlob\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.RunConverter\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.BlobToFile\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.CreateBlob\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.CreateZip\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.AttachBlob\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.blob.SetBlobFileName\" >\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.RemoveDocumentBlob\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PushBlob\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PushBlobList\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PopBlob\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PopBlobList\" />\n\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PullDocument\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PullDocumentList\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PullBlob\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.stack.PullBlobList\" />\n\n    <operation class=\"org.nuxeo.ecm.automation.core.events.operations.FireEvent\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.RunInputScript\" />\n\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.rendering.operations.RenderDocument\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.rendering.operations.RenderDocumentFeed\" />\n\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.login.LoginAs\" />\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.login.Logout\" />\n\n    <operation class=\"org.nuxeo.ecm.automation.core.operations.LogOperation\" />\n\n    <!-- From presales toolkit -->\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.AddEntryToMultiValuedProperty\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.CreateProxyLive\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.GetLiveDocument\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.document.RemoveEntryOfMultiValuedProperty\">\n      <widgets>\n        <widget name=\"xpath\" type=\"codearea\">\n          <labels>\n            <label mode=\"any\">XPath</label>\n          </labels>\n          <properties mode=\"any\">\n            <property name=\"language\">xpath</property>\n            <property name=\"width\">100%</property>\n            <property name=\"height\">100%</property>\n          </properties>\n          <fields>\n            <field>xpath</field>\n          </fields>\n        </widget>\n      </widgets>\n    </operation>\n\n    <!-- Business Operations -->\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.business.BusinessCreateOperation\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.business.BusinessUpdateOperation\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.business.BusinessFetchOperation\" />\n\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.execution.RunOperationOnListInNewTransaction\" />\n\n    <!-- register built-in operations -->\n    <!-- operation class=\"org.nuxeo.ecm.automation.core.operations.RunScriptFile\"\n      / -->\n\n    <!-- Trace related operations -->\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.traces.AutomationTraceGetOperation\" />\n    <operation\n      class=\"org.nuxeo.ecm.automation.core.operations.traces.AutomationTraceToggleOperation\" />\n    <operation\n            class=\"org.nuxeo.ecm.automation.core.operations.traces.JsonStackToggleDisplayOperation\" />\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/operations-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentation": "\n    Core IO registered marshallers set.\n  \n",
          "documentationHtml": "<p>\nCore IO registered marshallers set.\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.io.MarshallerRegistry--marshallers",
              "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.automation.marshallers/Contributions/org.nuxeo.ecm.core.automation.marshallers--marshallers",
              "id": "org.nuxeo.ecm.core.automation.marshallers--marshallers",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.io.MarshallerRegistry",
                "name": "org.nuxeo.ecm.core.io.MarshallerRegistry",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"marshallers\" target=\"org.nuxeo.ecm.core.io.MarshallerRegistry\">\n    <!-- blob reader -->\n    <register class=\"org.nuxeo.ecm.automation.core.io.BlobJsonReader\" enable=\"true\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.automation.marshallers",
          "name": "org.nuxeo.ecm.core.automation.marshallers",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.automation.marshallers\" version=\"1.0.0\">\n  <documentation>\n    Core IO registered marshallers set.\n  </documentation>\n  <extension target=\"org.nuxeo.ecm.core.io.MarshallerRegistry\" point=\"marshallers\">\n    <!-- blob reader -->\n    <register class=\"org.nuxeo.ecm.automation.core.io.BlobJsonReader\" enable=\"true\" />\n  </extension>\n</component>\n",
          "xmlFileName": "/OSGI-INF/marshallers-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentation": "\n      This contribution is the default contribution for automation properties.\n\n      Here are more details about some of them:\n      <ul>\n    <li>\n        <strong>nuxeo.automation.properties.value.trim</strong>: properties are expected to be of the form \"key=value\". You may wish to trim the potential spaces around value (e.g.: \"key = value\", will result in \"value\" and not \" value\").\n        </li>\n</ul>\n\n\n      @since 8.2\n    \n",
              "documentationHtml": "<p>\nThis contribution is the default contribution for automation properties.\n</p><p>\nHere are more details about some of them:\n</p><ul><li>\n<strong>nuxeo.automation.properties.value.trim</strong>: properties are expected to be of the form &#34;key&#61;value&#34;. You may wish to trim the potential spaces around value (e.g.: &#34;key &#61; value&#34;, will result in &#34;value&#34; and not &#34; value&#34;).\n</li></ul>\n<p>\n&#64;since 8.2\n</p><p></p>",
              "extensionPoint": "org.nuxeo.runtime.ConfigurationService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.automation.core.properties/Contributions/org.nuxeo.ecm.core.automation.core.properties--configuration",
              "id": "org.nuxeo.ecm.core.automation.core.properties--configuration",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.ConfigurationService",
                "name": "org.nuxeo.runtime.ConfigurationService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.ConfigurationService\">\n\n    <documentation>\n      This contribution is the default contribution for automation properties.\n\n      Here are more details about some of them:\n      <ul>\n        <li>\n          <strong>nuxeo.automation.properties.value.trim</strong>: properties are expected to be of the form \"key=value\". You may wish to trim the potential spaces around value (e.g.: \"key = value\", will result in \"value\" and not \" value\").\n        </li>\n      </ul>\n\n      @since 8.2\n    </documentation>\n\n    <!-- Note that for backward compatibility this the opposite than on master. See NXP-19170. -->\n    <property name=\"nuxeo.automation.properties.value.trim\">true</property>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core/org.nuxeo.ecm.core.automation.core.properties",
          "name": "org.nuxeo.ecm.core.automation.core.properties",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.automation.core.properties\" version=\"1.0.0\">\n\n  <extension target=\"org.nuxeo.runtime.ConfigurationService\" point=\"configuration\">\n\n    <documentation>\n      This contribution is the default contribution for automation properties.\n\n      Here are more details about some of them:\n      <ul>\n        <li>\n          <strong>nuxeo.automation.properties.value.trim</strong>: properties are expected to be of the form \"key=value\". You may wish to trim the potential spaces around value (e.g.: \"key = value\", will result in \"value\" and not \" value\").\n        </li>\n      </ul>\n\n      @since 8.2\n    </documentation>\n\n    <!-- Note that for backward compatibility this the opposite than on master. See NXP-19170. -->\n    <property name=\"nuxeo.automation.properties.value.trim\">true</property>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/properties-contrib.xml",
          "xmlPureComponent": true
        }
      ],
      "fileName": "nuxeo-automation-core-7.10-HF07.jar",
      "groupId": "org.nuxeo.ecm.automation",
      "hierarchyPath": "/grp:org.nuxeo.ecm.automation/org.nuxeo.ecm.automation.core",
      "id": "org.nuxeo.ecm.automation.core",
      "location": "",
      "manifest": "Manifest-Version: 1.0\r\nArchiver-Version: Plexus Archiver\r\nCreated-By: Apache Maven\r\nBuilt-By: jenkins\r\nBuild-Jdk: 1.8.0_60\r\nBundle-ManifestVersion: 2\r\nBundle-Version: 5.4.2.qualifier\r\nBundle-Name: Nuxeo Automation Core\r\nBundle-SymbolicName: org.nuxeo.ecm.automation.core;singleton:=true\r\nBundle-Vendor: Nuxeo\r\nExport-Package: org.nuxeo.ecm.automation,org.nuxeo.ecm.automation.core\r\n ,org.nuxeo.ecm.automation.core.annotations,org.nuxeo.ecm.automation.c\r\n ore.collectors,org.nuxeo.ecm.automation.core.doc,org.nuxeo.ecm.automa\r\n tion.core.events,org.nuxeo.ecm.automation.core.events.operations,org.\r\n nuxeo.ecm.automation.core.impl,org.nuxeo.ecm.automation.core.impl.ada\r\n pters,org.nuxeo.ecm.automation.core.mail,org.nuxeo.ecm.automation.cor\r\n e.operations,org.nuxeo.ecm.automation.core.operations.blob,org.nuxeo.\r\n ecm.automation.core.operations.document,org.nuxeo.ecm.automation.core\r\n .operations.execution,org.nuxeo.ecm.automation.core.operations.stack,\r\n org.nuxeo.ecm.automation.core.rendering,org.nuxeo.ecm.automation.core\r\n .rendering.operations,org.nuxeo.ecm.automation.core.scripting,org.nux\r\n eo.ecm.automation.core.util\r\nBundle-ActivationPolicy: lazy\r\nNuxeo-Component: OSGI-INF/AutomationService.xml,OSGI-INF/reload-contri\r\n b.xml,OSGI-INF/operations-contrib.xml,OSGI-INF/properties-contrib.xml\r\n ,OSGI-INF/marshallers-contrib.xml\r\nImport-Package: freemarker.core,freemarker.template,groovy.lang;resolu\r\n tion:=optional,javax.mail,javax.mail.internet,net.sf.json,org.apache.\r\n commons.lang,org.apache.commons.logging,org.codehaus.groovy.control;r\r\n esolution:=optional,org.codehaus.groovy.runtime;resolution:=optional,\r\n org.mvel2,org.mvel2.templates,org.nuxeo.common,org.nuxeo.common.utils\r\n ,org.nuxeo.common.xmap.annotation,org.nuxeo.ecm.core.api,org.nuxeo.ec\r\n m.core.api.blobholder,org.nuxeo.ecm.core.api.impl,org.nuxeo.ecm.core.\r\n api.impl.blob,org.nuxeo.ecm.core.api.model,org.nuxeo.ecm.core.api.mod\r\n el.impl,org.nuxeo.ecm.core.api.repository,org.nuxeo.ecm.core.api.secu\r\n rity,org.nuxeo.ecm.core.api.security.impl,org.nuxeo.ecm.core.convert.\r\n api,org.nuxeo.ecm.core.event,org.nuxeo.ecm.core.event.impl,org.nuxeo.\r\n ecm.core.schema,org.nuxeo.ecm.core.schema.types,org.nuxeo.ecm.core.sc\r\n hema.types.primitives,org.nuxeo.ecm.core.schema.utils,org.nuxeo.ecm.c\r\n ore.versioning,org.nuxeo.ecm.platform.rendering.api,org.nuxeo.ecm.pla\r\n tform.rendering.fm,org.nuxeo.runtime.api,org.nuxeo.runtime.model,org.\r\n nuxeo.runtime.services.resource,org.nuxeo.runtime.transaction,org.osg\r\n i.framework;version=\"1.5.0\"\r\nBundle-RequiredExecutionEnvironment: JavaSE-1.6\r\n\r\n",
      "packages": [],
      "requirements": [],
      "version": "7.10-HF07"
    }
  ],
  "creationDate": 1664792867649,
  "key": "Nuxeo Platform LTS 2015-7.10",
  "name": "Nuxeo Platform LTS 2015",
  "operations": [
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Block the permission inheritance on the input document(s). Returns the document(s).",
      "hierarchyPath": "/op:Document.BlockPermissionInheritance",
      "label": "Block Permission Inheritance",
      "name": "Document.BlockPermissionInheritance",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.BlockPermissionInheritance",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "acl",
          "order": 0,
          "type": "string",
          "values": [
            "local"
          ],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.BlockPermissionInheritance",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Get the parent document of the input document. The parent document will become the input for the next operation. You can use the 'type' parameter to specify which parent to select from the document ancestors",
      "hierarchyPath": "/op:Document.GetParent",
      "label": "Get Parent",
      "name": "Document.GetParent",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.GetDocumentParent",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "type",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.GetParent",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Restores a document to the input version document. If createVersion is true, a version of the live document will be created before restoring it to the input version. If checkout is true, a checkout will be processed after restoring the document, visible in the UI by the '+' symbol beside the version number. Returns the restored document.",
      "hierarchyPath": "/op:Document.RestoreVersion",
      "label": "Restore Version",
      "name": "Document.RestoreVersion",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.RestoreVersion",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "checkout",
          "order": 0,
          "type": "boolean",
          "values": [
            "false"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "createVersion",
          "order": 0,
          "type": "boolean",
          "values": [
            "false"
          ],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document"
      ],
      "url": "Document.RestoreVersion",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Blob.Pull"
      ],
      "category": "Push & Pop",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Restore the last saved input file in the context input stack. This operation must be used only if a PUSH operation was previously made. Return the first <i>pushed</i> file.",
      "hierarchyPath": "/op:Context.PullBlob",
      "label": "Pull File",
      "name": "Context.PullBlob",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.stack.PullBlob",
      "params": [],
      "signature": [
        "void",
        "blob"
      ],
      "url": "Context.PullBlob",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Context.RunOperationOnListInNewTx"
      ],
      "category": "Execution Flow",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Run an operation/chain in a new Transaction for each element from the list defined by the 'list' parameter. The 'list' parameter is pointing to a context variable that represents the list which will be iterated. The 'itemName' parameter represents the name of the context variable which will point to the current element in the list at each iteration. You can use the 'isolate' parameter to specify whether or not the evalution context is the same as the parent context or a copy of it. If the 'isolate' parameter is 'true' then a copy of the current context is used and so that modifications in this context will not affect the parent context. Any input is accepted. The input is returned back as output when operation terminates.",
      "hierarchyPath": "/op:RunOperationOnListInNewTx",
      "label": "Run For Each in new TX",
      "name": "RunOperationOnListInNewTx",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.execution.RunOperationOnListInNewTransaction",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "id",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": true,
          "name": "list",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "isolate",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "itemName",
          "order": 0,
          "type": "string",
          "values": [
            "item"
          ],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "void"
      ],
      "url": "RunOperationOnListInNewTx",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Copy the input document into the given folder. The name parameter will be used as the copy name otherwise if not specified the original name will be preserved. The target folder can be specified as an absolute or relative path (relative to the input document) as an UID or by using an EL expression. Return the newly created document (the copy).",
      "hierarchyPath": "/op:Document.Copy",
      "label": "Copy",
      "name": "Document.Copy",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.CopyDocument",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "target",
          "order": 0,
          "type": "document",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "name",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.Copy",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Reload the input document from the repository. Any previous modification made by the chain on this document will be lost if these modifications were not saved. Return the reloaded document.",
      "hierarchyPath": "/op:Document.Reload",
      "label": "Reset",
      "name": "Document.Reload",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.ReloadDocument",
      "params": [],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.Reload",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Blob.GetAll"
      ],
      "category": "Files",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Gets a list of all blobs that are attached on the input document. Returns a list of files.",
      "hierarchyPath": "/op:Document.GetBlobs",
      "label": "Get All Document Files",
      "name": "Document.GetBlobs",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.blob.GetAllDocumentBlobs",
      "params": [],
      "signature": [
        "document",
        "bloblist",
        "documents",
        "bloblist"
      ],
      "url": "Document.GetBlobs",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Save in the repository any modification that was done on the input document. Returns the saved document.",
      "hierarchyPath": "/op:Document.Save",
      "label": "Save",
      "name": "Document.Save",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.SaveDocument",
      "params": [],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.Save",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Move the input document into the target folder.",
      "hierarchyPath": "/op:Document.Move",
      "label": "Move",
      "name": "Document.Move",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.MoveDocument",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "target",
          "order": 0,
          "type": "document",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "name",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.Move",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Blob.SetFilename"
      ],
      "category": "Files",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Modify the filename of a file stored in the input document. The file is found in the input document given its xpath specified through the 'xpath' parameter. Return back the input document.",
      "hierarchyPath": "/op:Document.SetBlobName",
      "label": "Set File Name",
      "name": "Document.SetBlobName",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.blob.SetBlobFileName",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "name",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "save",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "xpath",
          "order": 0,
          "type": "string",
          "values": [
            "file:content"
          ],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.SetBlobName",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Checks in the input document. Returns back the document.",
      "hierarchyPath": "/op:Document.CheckIn",
      "label": "Check In",
      "name": "Document.CheckIn",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.CheckInDocument",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "version",
          "order": 0,
          "type": "string",
          "values": [
            "minor",
            "major"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "comment",
          "order": 1,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "versionVarName",
          "order": 2,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.CheckIn",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Blob.Push"
      ],
      "category": "Push & Pop",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Push the input file on the context stack. The file can be restored later as the input using the corrresponding pop operation. Returns the input file.",
      "hierarchyPath": "/op:Context.PushBlob",
      "label": "Push File",
      "name": "Context.PushBlob",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.stack.PushBlob",
      "params": [],
      "signature": [
        "blob",
        "blob"
      ],
      "url": "Context.PushBlob",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Unlock the input document. The unlock will be executed in the name of the current user. An user can unlock a document only if has the UNLOCK permission granted on the document or if it the same user as the one that locked the document. Return the unlocked document",
      "hierarchyPath": "/op:Document.Unlock",
      "label": "Unlock",
      "name": "Document.Unlock",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.UnlockDocument",
      "params": [],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.Unlock",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Conversion",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Simply call a converter based on the 'converter' parameter. You can pass the converter properties with the 'properties' parameter.",
      "hierarchyPath": "/op:Blob.RunConverter",
      "label": "Blob.RunConverter",
      "name": "Blob.RunConverter",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.blob.RunConverter",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "converter",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "parameters",
          "order": 0,
          "type": "properties",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "blob",
        "blob"
      ],
      "since": "7.1",
      "url": "Blob.RunConverter",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Execution Context",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Set a context variable that points to the current input object. You must give a name for the variable. This operation works on any input type and return back the input as the output.",
      "hierarchyPath": "/op:Context.SetInputAsVar",
      "label": "Set Context Variable From Input",
      "name": "Context.SetInputAsVar",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.SetInputAsVar",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "name",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "void"
      ],
      "url": "Context.SetInputAsVar",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Execution Context",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Run a script and return the result Document object of the script the output of the operation",
      "hierarchyPath": "/op:Context.RestoreDocumentInputFromScript",
      "label": "Restore input document from a script",
      "name": "Context.RestoreDocumentInputFromScript",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.RestoreDocumentInputFromScript",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "script",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": "TextArea"
        }
      ],
      "signature": [
        "void",
        "document"
      ],
      "url": "Context.RestoreDocumentInputFromScript",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Document.SetLifeCycle"
      ],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Follow the given transition on the input document life cycle state",
      "hierarchyPath": "/op:Document.FollowLifecycleTransition",
      "label": "Follow Life Cycle Transition",
      "name": "Document.FollowLifecycleTransition",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.SetDocumentLifeCycle",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "value",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.FollowLifecycleTransition",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Document.Push"
      ],
      "category": "Push & Pop",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Push the input document on the context stack. The document can be restored later as the input using the corrresponding pop operation. Returns the input document.",
      "hierarchyPath": "/op:Context.PushDocument",
      "label": "Push Document",
      "name": "Context.PushDocument",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.stack.PushDocument",
      "params": [],
      "signature": [
        "document",
        "document"
      ],
      "url": "Context.PushDocument",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Context.RunInputScript"
      ],
      "category": "Scripting",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Run a script from the input blob. A blob comtaining script result is returned.",
      "hierarchyPath": "/op:RunInputScript",
      "label": "Run Input Script",
      "name": "RunInputScript",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.RunInputScript",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "type",
          "order": 0,
          "type": "string",
          "values": [
            "mvel",
            "groovy"
          ],
          "widget": "Option"
        }
      ],
      "signature": [
        "blob",
        "blob"
      ],
      "url": "RunInputScript",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Document.Fetch"
      ],
      "category": "Fetch",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Fetch a document from the repository given its reference (path or UID). The document will become the input of the next operation.",
      "hierarchyPath": "/op:Repository.GetDocument",
      "label": "Document",
      "name": "Repository.GetDocument",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.FetchDocument",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "value",
          "order": 0,
          "type": "document",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "document"
      ],
      "url": "Repository.GetDocument",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Conversion",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Convert the input file to a file of the given mime-type and return the new file.",
      "hierarchyPath": "/op:Blob.Convert",
      "label": "Convert to given mime-type",
      "name": "Blob.Convert",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.blob.ConvertBlob",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "mimeType",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "bloblist",
        "bloblist",
        "blob",
        "blob",
        "document",
        "blob"
      ],
      "since": "5.7",
      "url": "Blob.Convert",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Blob.Create"
      ],
      "category": "Fetch",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Creates a file from a given URL. The file parameter specifies how to retrieve the file content. It should be an URL to the file you want to use as the source. You can also use an expression to get an URL from the context. Returns the created file.",
      "hierarchyPath": "/op:Blob.CreateFromURL",
      "label": "File From URL",
      "name": "Blob.CreateFromURL",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.blob.CreateBlob",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "file",
          "order": 0,
          "type": "resource",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "encoding",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "filename",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "mime-type",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "blob"
      ],
      "url": "Blob.CreateFromURL",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Unlock the permission inheritance on the input document(s). Returns the document(s).",
      "hierarchyPath": "/op:Document.UnblockPermissionInheritance",
      "label": "Unlock Permission Inheritance",
      "name": "Document.UnblockPermissionInheritance",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.UnblockPermissionInheritance",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "acl",
          "order": 0,
          "type": "string",
          "values": [
            "local"
          ],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.UnblockPermissionInheritance",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Blob.Set"
      ],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Set the input file to the given property on the input document. If the xpath points to a blob list then the blob is appended to the list, otherwise the xpath should point to a blob property. If the save parameter is set the document modification will be automatically saved. Return the document.",
      "hierarchyPath": "/op:Document.SetBlob",
      "label": "Set File",
      "name": "Document.SetBlob",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.SetDocumentBlob",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "file",
          "order": 0,
          "type": "blob",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "save",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "xpath",
          "order": 0,
          "type": "string",
          "values": [
            "file:content"
          ],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.SetBlob",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Checks out the input document. Returns back the document.",
      "hierarchyPath": "/op:Document.CheckOut",
      "label": "Check Out",
      "name": "Document.CheckOut",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.CheckOutDocument",
      "params": [],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.CheckOut",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Context.RunOperationOnList"
      ],
      "category": "Execution Flow",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Run an operation for each element from the list defined by the 'list' parameter. The 'list' parameter is pointing to a context variable that represents the list which will be iterated. The 'item' parameter represents the name of the context variable which will point to the current element in the list at each iteration. You can use the 'isolate' parameter to specify whether or not the evalution context is the same as the parent context or a copy of it. If the 'isolate' parameter is 'true' then a copy of the current context is used and so that modifications in this context will not affect the parent context. Any input is accepted. The input is returned back as output when operation terminates. The 'parameters' injected are accessible in the subcontext ChainParameters. For instance, @{ChainParameters['parameterKey']}.",
      "hierarchyPath": "/op:RunOperationOnList",
      "label": "Run For Each",
      "name": "RunOperationOnList",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.execution.RunOperationOnList",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "id",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": true,
          "name": "list",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "isolate",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "item",
          "order": 0,
          "type": "string",
          "values": [
            "item"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "newTx",
          "order": 0,
          "type": "boolean",
          "values": [
            "false"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "parameters",
          "order": 0,
          "type": "properties",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "rollbackGlobalOnError",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "timeout",
          "order": 0,
          "type": "integer",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "void"
      ],
      "url": "RunOperationOnList",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Blob.PopList"
      ],
      "category": "Push & Pop",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Restore the last saved input file list in the context input stack",
      "hierarchyPath": "/op:Context.PopBlobList",
      "label": "Pop File List",
      "name": "Context.PopBlobList",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.stack.PopBlobList",
      "params": [],
      "signature": [
        "void",
        "bloblist"
      ],
      "url": "Context.PopBlobList",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Execution Context",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Restore the document input from a context variable given its name. Return the document.",
      "hierarchyPath": "/op:Context.RestoreDocumentInput",
      "label": "Restore Document Input",
      "name": "Context.RestoreDocumentInput",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.RestoreDocumentInput",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "name",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "document"
      ],
      "url": "Context.RestoreDocumentInput",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Execution Flow",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Run an operation chain in a separate tx. The 'parameters' injected are accessible in the subcontext ChainParameters. For instance, @{ChainParameters['parameterKey']}.",
      "hierarchyPath": "/op:Context.RunDocumentOperationInNewTx",
      "label": "Run Document Chain in new Tx",
      "name": "Context.RunDocumentOperationInNewTx",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.execution.RunInNewTransaction",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "id",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "isolate",
          "order": 0,
          "type": "boolean",
          "values": [
            "false"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "parameters",
          "order": 0,
          "type": "properties",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "rollbackGlobalOnError",
          "order": 0,
          "type": "boolean",
          "values": [
            "false"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "timeout",
          "order": 0,
          "type": "integer",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "void"
      ],
      "url": "Context.RunDocumentOperationInNewTx",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Document.Publish"
      ],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Publish the input document into the target section. Existing proxy is overrided if the override attribute is set. Return the created proxy.",
      "hierarchyPath": "/op:Document.PublishToSection",
      "label": "Publish Document",
      "name": "Document.PublishToSection",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.PublishDocument",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "target",
          "order": 0,
          "type": "document",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "override",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.PublishToSection",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Execution Context",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Run a script and return the result documents object of the script the output of the operation",
      "hierarchyPath": "/op:Context.RestoreDocumentsInputFromScript",
      "label": "Restore input documents from a script",
      "name": "Context.RestoreDocumentsInputFromScript",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.RestoreDocumentsInputFromScript",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "script",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": "TextArea"
        }
      ],
      "signature": [
        "void",
        "documents"
      ],
      "url": "Context.RestoreDocumentsInputFromScript",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Execution Context",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Run a script and return the result Blobs object of the script the output of the operation",
      "hierarchyPath": "/op:Context.RestoreBlobsInputFromScript",
      "label": "Restore input blobs from a script",
      "name": "Context.RestoreBlobsInputFromScript",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.RestoreBlobsInputFromScript",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "script",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": "TextArea"
        }
      ],
      "signature": [
        "void",
        "bloblist"
      ],
      "url": "Context.RestoreBlobsInputFromScript",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Document.PopList"
      ],
      "category": "Push & Pop",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Restore the last saved input document list in the context input stack",
      "hierarchyPath": "/op:Context.PopDocumentList",
      "label": "Pop Document List",
      "name": "Context.PopDocumentList",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.stack.PopDocumentList",
      "params": [],
      "signature": [
        "void",
        "documents"
      ],
      "url": "Context.PopDocumentList",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Fetch",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Fetch the input of the context as a file or list of files. The file(s) will become the input for the next operation.",
      "hierarchyPath": "/op:Context.FetchFile",
      "label": "Context File(s)",
      "name": "Context.FetchFile",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.FetchContextBlob",
      "params": [],
      "signature": [
        "blob",
        "blob",
        "bloblist",
        "bloblist"
      ],
      "url": "Context.FetchFile",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Get a child document given its name. Take as input the parent document and return the child document.",
      "hierarchyPath": "/op:Document.GetChild",
      "label": "Get Child",
      "name": "Document.GetChild",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.GetDocumentChild",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "name",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.GetChild",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Business",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "This operation map pojo client side to document adapter server side and fetch the related NX document.",
      "hierarchyPath": "/op:Business.BusinessFetchOperation",
      "label": "BusinessFetchOperation",
      "name": "Business.BusinessFetchOperation",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.business.BusinessFetchOperation",
      "params": [],
      "signature": [
        "businessadapter",
        "businessadapter"
      ],
      "url": "Business.BusinessFetchOperation",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Lock the input document for the current user. Returns back the locked document.",
      "hierarchyPath": "/op:Document.Lock",
      "label": "Lock",
      "name": "Document.Lock",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.LockDocument",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "owner",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.Lock",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Blob.Get"
      ],
      "category": "Files",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Gets a file attached to the input document. The file location is specified using an xpath to the blob property of the document. Returns the file.",
      "hierarchyPath": "/op:Document.GetBlob",
      "label": "Get Document File",
      "name": "Document.GetBlob",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.blob.GetDocumentBlob",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "xpath",
          "order": 0,
          "type": "string",
          "values": [
            "file:content"
          ],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "blob",
        "documents",
        "bloblist"
      ],
      "url": "Document.GetBlob",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Blob.Attach"
      ],
      "category": "Files",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Attach the input file to the document given as a parameter. If the xpath points to a blob list then the blob is appended to the list, otherwise the xpath should point to a blob property. If the save parameter is set the document modification will be automatically saved. Return the blob.",
      "hierarchyPath": "/op:Blob.AttachOnDocument",
      "label": "Attach File",
      "name": "Blob.AttachOnDocument",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.blob.AttachBlob",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "document",
          "order": 0,
          "type": "document",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "save",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "xpath",
          "order": 0,
          "type": "string",
          "values": [
            "file:content"
          ],
          "widget": null
        }
      ],
      "signature": [
        "blob",
        "blob",
        "bloblist",
        "bloblist"
      ],
      "url": "Blob.AttachOnDocument",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Remove a named Acces Control List from the input document(s). Returns the document(s).",
      "hierarchyPath": "/op:Document.RemoveACL",
      "label": "Remove ACL",
      "name": "Document.RemoveACL",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.RemoveDocumentACL",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "acl",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.RemoveACL",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Conversion",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Get a document or a list of document in input and outputs one or more blobs that contain a rendered view for each input document given a rendering template. The template attribute may contain either the template content either a template URI. Template URis are strings in the form 'template:template_name' and will be located using the runtime resource service. Return the rendered file(s) as blob(s)",
      "hierarchyPath": "/op:Render.Document",
      "label": "Render Document",
      "name": "Render.Document",
      "operationClass": "org.nuxeo.ecm.automation.core.rendering.operations.RenderDocument",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "template",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": "TemplateResource"
        },
        {
          "description": null,
          "isRequired": false,
          "name": "filename",
          "order": 0,
          "type": "string",
          "values": [
            "output.ftl"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "mimetype",
          "order": 0,
          "type": "string",
          "values": [
            "text/xml"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "type",
          "order": 0,
          "type": "string",
          "values": [
            "ftl",
            "mvel"
          ],
          "widget": "Option"
        }
      ],
      "signature": [
        "document",
        "blob",
        "documents",
        "bloblist"
      ],
      "url": "Render.Document",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Blob.PullList"
      ],
      "category": "Push & Pop",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Restore the first saved input file list in the context input stack",
      "hierarchyPath": "/op:Context.PullBlobList",
      "label": "Pull File List",
      "name": "Context.PullBlobList",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.stack.PullBlobList",
      "params": [],
      "signature": [
        "void",
        "bloblist"
      ],
      "url": "Context.PullBlobList",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Notification.SendEvent"
      ],
      "category": "Notification",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Send a Nuxeo event.",
      "hierarchyPath": "/op:Event.Fire",
      "label": "Send Event",
      "name": "Event.Fire",
      "operationClass": "org.nuxeo.ecm.automation.core.events.operations.FireEvent",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "name",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "void"
      ],
      "url": "Event.Fire",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Blob.Pop"
      ],
      "category": "Push & Pop",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Restore the last saved input file in the context input stack. This operation must be used only if a PUSH operation was previously made. Return the last <i>pushed</i> file.",
      "hierarchyPath": "/op:Context.PopBlob",
      "label": "Pop File",
      "name": "Context.PopBlob",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.stack.PopBlob",
      "params": [],
      "signature": [
        "void",
        "blob"
      ],
      "url": "Context.PopBlob",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Delete the input document. The previous context input will be restored for the next operation.",
      "hierarchyPath": "/op:Document.Delete",
      "label": "Delete",
      "name": "Document.Delete",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.DeleteDocument",
      "params": [],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.Delete",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Execution Context",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Restore the file input from a context variable given its name. Return the file.",
      "hierarchyPath": "/op:Context.RestoreBlobInput",
      "label": "Restore File Input",
      "name": "Context.RestoreBlobInput",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.RestoreBlobInput",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "name",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "blob"
      ],
      "url": "Context.RestoreBlobInput",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Document.Pop"
      ],
      "category": "Push & Pop",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Restore the last saved input document in the context input stack. This operation must be used only if a PUSH operation was previously made. Return the last <i>pushed</i> document.",
      "hierarchyPath": "/op:Context.PopDocument",
      "label": "Pop Document",
      "name": "Context.PopDocument",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.stack.PopDocument",
      "params": [],
      "signature": [
        "void",
        "document"
      ],
      "url": "Context.PopDocument",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Document.Pull"
      ],
      "category": "Push & Pop",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Restore the first saved input document in the context input stack. This operation must be used only if a PUSH operation was previously made. Return the first <i>pushed</i> document.",
      "hierarchyPath": "/op:Context.PullDocument",
      "label": "Pull Document",
      "name": "Context.PullDocument",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.stack.PullDocument",
      "params": [],
      "signature": [
        "void",
        "document"
      ],
      "url": "Context.PullDocument",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Blob.GetList"
      ],
      "category": "Files",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Gets a list of files that are attached on the input document. The files location should be specified using the blob list property xpath. Returns a list of files.",
      "hierarchyPath": "/op:Document.GetBlobsByProperty",
      "label": "Get Document Files",
      "name": "Document.GetBlobsByProperty",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.blob.GetDocumentBlobs",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "xpath",
          "order": 0,
          "type": "string",
          "values": [
            "files:files"
          ],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "bloblist",
        "documents",
        "bloblist"
      ],
      "url": "Document.GetBlobsByProperty",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "GetLiveDocument"
      ],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Get the live document even if this is a Proxy or Version Document.",
      "hierarchyPath": "/op:Proxy.GetSourceDocument",
      "label": "Get Live Document",
      "name": "Proxy.GetSourceDocument",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.GetLiveDocument",
      "params": [],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Proxy.GetSourceDocument",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "LogOperation"
      ],
      "category": "Notification",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Logging with log4j",
      "hierarchyPath": "/op:Log",
      "label": "Log",
      "name": "Log",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.LogOperation",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "level",
          "order": 0,
          "type": "string",
          "values": [
            "info",
            "debug",
            "warn",
            "error"
          ],
          "widget": "Option"
        },
        {
          "description": null,
          "isRequired": true,
          "name": "message",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "category",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "void"
      ],
      "url": "Log",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Blob.Post"
      ],
      "category": "Files",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Post the input file to a target HTTP URL. Returns back the input file.",
      "hierarchyPath": "/op:Blob.PostToURL",
      "label": "HTTP Post",
      "name": "Blob.PostToURL",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.blob.PostBlob",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "url",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "blob",
        "blob",
        "bloblist",
        "bloblist"
      ],
      "url": "Blob.PostToURL",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Users & Groups",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Login As the given user. If no user is given a system login is performed. This is a void operations - the input will be returned back as the output.",
      "hierarchyPath": "/op:Auth.LoginAs",
      "label": "Login As",
      "name": "Auth.LoginAs",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.login.LoginAs",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "name",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "void",
        "document",
        "document"
      ],
      "url": "Auth.LoginAs",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Conversion",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Convert the input file to a PDF and return the new file.",
      "hierarchyPath": "/op:Blob.ToPDF",
      "label": "Convert To PDF",
      "name": "Blob.ToPDF",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.blob.BlobToPDF",
      "params": [],
      "signature": [
        "bloblist",
        "bloblist",
        "blob",
        "blob",
        "document",
        "blob"
      ],
      "url": "Blob.ToPDF",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Set a single property value on the input document. The property is specified using its xpath. The document is automatically saved if 'save' parameter is true. If you unset the 'save' you need to save it later using Save Document operation. Return the modified document.",
      "hierarchyPath": "/op:Document.SetProperty",
      "label": "Update Property",
      "name": "Document.SetProperty",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.SetDocumentProperty",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "xpath",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "save",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "value",
          "order": 0,
          "type": "serializable",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.SetProperty",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Blob.ToFile"
      ],
      "category": "Files",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Save the input blob(s) as a file(s) into the given target directory. The blob(s) filename is used as the file name. You can specify an optional <b>prefix</b> string to prepend to the file name. Return back the blob(s).",
      "hierarchyPath": "/op:Blob.ExportToFS",
      "label": "Export to File",
      "name": "Blob.ExportToFS",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.blob.BlobToFile",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "directory",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "prefix",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "blob",
        "blob",
        "bloblist",
        "bloblist"
      ],
      "url": "Blob.ExportToFS",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Fetch",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "For each specified string property value, fetch all documents that match the property and the optional where clause. Matching documents are collected into a list and the returned to the next operation. The operation has no input.",
      "hierarchyPath": "/op:Document.FetchByProperty",
      "label": "Fetch By Property",
      "name": "Document.FetchByProperty",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.FetchByProperty",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "property",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": true,
          "name": "values",
          "order": 0,
          "type": "stringlist",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "query",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "documents"
      ],
      "url": "Document.FetchByProperty",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Blob.Remove"
      ],
      "category": "Files",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Remove the file attached to the input document as specified by the 'xpath' parameter. If the 'xpath' point to a blob list then the list will be cleared. If the file to remove is part of a list it will be removed from the list otherwise the 'xpath' should point to a blob property that will be removed. If the save parameter is set the document modification will be automatically saved. Return the document.",
      "hierarchyPath": "/op:Blob.RemoveFromDocument",
      "label": "Remove File",
      "name": "Blob.RemoveFromDocument",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.RemoveDocumentBlob",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "save",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "xpath",
          "order": 0,
          "type": "string",
          "values": [
            "file:content"
          ],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Blob.RemoveFromDocument",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Document.SetACE"
      ],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Set Acces Control Entry on the input document(s). Returns the document(s).",
      "hierarchyPath": "/op:Document.AddACE",
      "label": "Set ACL",
      "name": "Document.AddACE",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.SetDocumentACE",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "permission",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": true,
          "name": "user",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "acl",
          "order": 0,
          "type": "string",
          "values": [
            "local"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "grant",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "overwrite",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.AddACE",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Context.RunOperation"
      ],
      "category": "Execution Flow",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Run an operation chain in the current context. The 'parameters' injected are accessible in the subcontext ChainParameters. For instance, @{ChainParameters['parameterKey']}.",
      "hierarchyPath": "/op:RunOperation",
      "label": "Run Chain",
      "name": "RunOperation",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.execution.RunOperation",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "id",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "isolate",
          "order": 0,
          "type": "boolean",
          "values": [
            "false"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "parameters",
          "order": 0,
          "type": "properties",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "void"
      ],
      "url": "RunOperation",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Execution Context",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Retrieve trace associated to a Chain or an Operation",
      "hierarchyPath": "/op:Traces.Get",
      "label": "Traces.getTrace",
      "name": "Traces.Get",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.traces.AutomationTraceGetOperation",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "index",
          "order": 0,
          "type": "int",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "traceKey",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "string"
      ],
      "url": "Traces.Get",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Conversion",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Get a list of documents as input and outputs a single blob containing the rendering of the document list. The template attribute may contain either the template content either a template URI. Template URis are strings in the form 'template:template_name' and will be located using the runtime resource service. Return the rendered blob",
      "hierarchyPath": "/op:Render.DocumentFeed",
      "label": "Render Document Feed",
      "name": "Render.DocumentFeed",
      "operationClass": "org.nuxeo.ecm.automation.core.rendering.operations.RenderDocumentFeed",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "template",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": "TemplateResource"
        },
        {
          "description": null,
          "isRequired": false,
          "name": "charset",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "filename",
          "order": 0,
          "type": "string",
          "values": [
            "output.ftl"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "mimetype",
          "order": 0,
          "type": "string",
          "values": [
            "text/xml"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "type",
          "order": 0,
          "type": "string",
          "values": [
            "ftl",
            "mvel"
          ],
          "widget": "Option"
        }
      ],
      "signature": [
        "documents",
        "blob"
      ],
      "url": "Render.DocumentFeed",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Gets the versions of the input document.",
      "hierarchyPath": "/op:Document.GetVersions",
      "label": "Get Versions",
      "name": "Document.GetVersions",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.GetDocumentVersions",
      "params": [],
      "signature": [
        "document",
        "documents"
      ],
      "url": "Document.GetVersions",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Document.PullList"
      ],
      "category": "Push & Pop",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Restore the first saved input document list in the context input stack",
      "hierarchyPath": "/op:Context.PullDocumentList",
      "label": "Pull Document List",
      "name": "Context.PullDocumentList",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.stack.PullDocumentList",
      "params": [],
      "signature": [
        "void",
        "documents"
      ],
      "url": "Context.PullDocumentList",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Document.SaveSession"
      ],
      "category": "Execution Flow",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Commit any changes made by the operation on the documents. This can be used to explicitly commit changes. This operation can be executed on any type of input. The input of this operation will be preserved as the input for the next operation in the chain.",
      "hierarchyPath": "/op:Repository.SaveSession",
      "label": "Save Session",
      "name": "Repository.SaveSession",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.execution.SaveSession",
      "params": [],
      "signature": [
        "void",
        "void"
      ],
      "url": "Repository.SaveSession",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Users & Groups",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Perform a logout. This should be used only after using the Login As operation to restore original login. This is a void operations - the input will be returned back as the output.",
      "hierarchyPath": "/op:Auth.Logout",
      "label": "Logout",
      "name": "Auth.Logout",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.login.Logout",
      "params": [],
      "signature": [
        "void",
        "void",
        "document",
        "document"
      ],
      "url": "Auth.Logout",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Remove the given property of the input document(s) as specified by the 'xpath' parameter. If the property points to a list then clear the list. Removing a property means setting it to null. Return the document(s).",
      "hierarchyPath": "/op:Document.RemoveProperty",
      "label": "Remove Property",
      "name": "Document.RemoveProperty",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.RemoveProperty",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "xpath",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "save",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.RemoveProperty",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Context.RunFileOperation"
      ],
      "category": "Execution Flow",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Run an operation chain which is returning a file in the current context. The input for the chain to run is a file or a list of files. Return the output of the chain as a file or a list of files. The 'parameters' injected are accessible in the subcontext ChainParameters. For instance, @{ChainParameters['parameterKey']}.",
      "hierarchyPath": "/op:RunFileOperation",
      "label": "Run File Chain",
      "name": "RunFileOperation",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.execution.RunFileChain",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "id",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "isolate",
          "order": 0,
          "type": "boolean",
          "values": [
            "false"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "newTx",
          "order": 0,
          "type": "boolean",
          "values": [
            "false"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "parameters",
          "order": 0,
          "type": "properties",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "rollbackGlobalOnError",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "timeout",
          "order": 0,
          "type": "integer",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "bloblist",
        "bloblist",
        "blob",
        "blob"
      ],
      "url": "RunFileOperation",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Execution Context",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Restore the file list input from a context variable given its name. Return the files.",
      "hierarchyPath": "/op:Context.RestoreBlobsInput",
      "label": "Restore Files Input",
      "name": "Context.RestoreBlobsInput",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.RestoreBlobsInput",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "name",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "bloblist"
      ],
      "url": "Context.RestoreBlobsInput",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Fetch",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Fetch the input of the context as a document or list of documents. The document will become the input for the next operation.",
      "hierarchyPath": "/op:Context.FetchDocument",
      "label": "Context Document(s)",
      "name": "Context.FetchDocument",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.FetchContextDocument",
      "params": [],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Context.FetchDocument",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "CreateProxyLive"
      ],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "This operation will create a proxy that points the given document as input. This is like a symbolic link for File System. The proxy will be created into the destination specified as parameter. <p>The document returned is the proxy live.<p> Remark: <b>you will have a strange behavior if the input is a folderish.</b>",
      "hierarchyPath": "/op:Document.CreateLiveProxy",
      "label": "Create Proxy Live",
      "name": "Document.CreateLiveProxy",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.CreateProxyLive",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "Destination Path",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.CreateLiveProxy",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Document.MultiPublish"
      ],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Publish the input document(s) into several target sections. The target is evaluated to a document list (can be a path, UID or EL expression). Existing proxy is overridden if the override attribute is set. Returns a list with the created proxies.",
      "hierarchyPath": "/op:Document.PublishToSections",
      "label": "Multi-Publish",
      "name": "Document.PublishToSections",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.MultiPublishDocument",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "target",
          "order": 0,
          "type": "documents",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "override",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "documents",
        "documents",
        "documents"
      ],
      "url": "Document.PublishToSections",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Business",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "This operation map pojo client side to document adapter server side and create NX document assuming that pojo and adapter have both properties in common.",
      "hierarchyPath": "/op:Business.BusinessCreateOperation",
      "label": "BusinessCreateOperation",
      "name": "Business.BusinessCreateOperation",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.business.BusinessCreateOperation",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "name",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": true,
          "name": "parentPath",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "businessadapter",
        "businessadapter"
      ],
      "url": "Business.BusinessCreateOperation",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Get the children of a document. The list of children will become the input for the next operation",
      "hierarchyPath": "/op:Document.GetChildren",
      "label": "Get Children",
      "name": "Document.GetChildren",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.GetDocumentChildren",
      "params": [],
      "signature": [
        "document",
        "documents",
        "documents",
        "documents"
      ],
      "url": "Document.GetChildren",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Document.PushList"
      ],
      "category": "Push & Pop",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Push the input document list on the context stack. The document list can be restored later as the input using the corrresponding pop operation. Returns the input document list.",
      "hierarchyPath": "/op:Context.PushDocumentList",
      "label": "Push Document List",
      "name": "Context.PushDocumentList",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.stack.PushDocumentList",
      "params": [],
      "signature": [
        "documents",
        "documents"
      ],
      "url": "Context.PushDocumentList",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Create a new version for the input document. Any modification made on the document by the chain will be automatically saved. Increment version if this was specified through the 'snapshot' parameter. Returns the live document (not the version).",
      "hierarchyPath": "/op:Document.CreateVersion",
      "label": "Snapshot Version",
      "name": "Document.CreateVersion",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.CreateVersion",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "increment",
          "order": 0,
          "type": "string",
          "values": [
            "None",
            "Minor",
            "Major"
          ],
          "widget": "Option"
        },
        {
          "description": null,
          "isRequired": false,
          "name": "saveDocument",
          "order": 0,
          "type": "boolean",
          "values": [],
          "widget": "Check"
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.CreateVersion",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Conversion",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Given a File document holding a pdf on the file:content property and 2 pdfs on the files:files property, the following operation will provide a pdf that is the result of the merge of all the pdfs, with the content of the one in file:content property first.",
      "hierarchyPath": "/op:Blob.ConcatenatePDFs",
      "label": "Concatenate PDFs",
      "name": "Blob.ConcatenatePDFs",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.blob.ConcatenatePDFs",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "filename",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "blob_to_append",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "bloblist",
        "blob",
        "blob",
        "blob"
      ],
      "url": "Blob.ConcatenatePDFs",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Blob.PushList"
      ],
      "category": "Push & Pop",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Push the input file list on the context stack. The file list can be restored later as the input using the corrresponding pop operation. Returns the input file list.",
      "hierarchyPath": "/op:Context.PushBlobList",
      "label": "Push File List",
      "name": "Context.PushBlobList",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.stack.PushBlobList",
      "params": [],
      "signature": [
        "bloblist",
        "bloblist"
      ],
      "url": "Context.PushBlobList",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "RemoveEntryOfMultivaluedProperty"
      ],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Remove the first entry of the giving value in the multivalued xpath, does nothing if does not exist: <ul<li>if 'is Remove All' is check, all entry instance in the list.</li><li>if not will remove just the first one found</li><ul>",
      "hierarchyPath": "/op:Document.RemoveEntryOfMultivaluedProperty",
      "label": "Remove Entry Of Multivalued Property",
      "name": "Document.RemoveEntryOfMultivaluedProperty",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.RemoveEntryOfMultiValuedProperty",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "value",
          "order": 0,
          "type": "serializable",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": true,
          "name": "xpath",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "is Remove All",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "save",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.RemoveEntryOfMultivaluedProperty",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Execution Context",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Set a context variable given a name and the value. To compute the value at runtime from the current context you should use an EL expression as the value. This operation works on any input type and return back the input as the output.",
      "hierarchyPath": "/op:Context.SetVar",
      "label": "Set Context Variable",
      "name": "Context.SetVar",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.SetVar",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "name",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "value",
          "order": 0,
          "type": "object",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "void"
      ],
      "url": "Context.SetVar",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Business",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "This operation map pojo client side to document adapter server side and update the related NX document.",
      "hierarchyPath": "/op:Business.BusinessUpdateOperation",
      "label": "BusinessUpdateOperation",
      "name": "Business.BusinessUpdateOperation",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.business.BusinessUpdateOperation",
      "params": [],
      "signature": [
        "businessadapter",
        "businessadapter"
      ],
      "url": "Business.BusinessUpdateOperation",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Execution Context",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Toggle stack display in json response for all rest api calls in Nuxeo",
      "hierarchyPath": "/op:JsonStack.ToggleDisplay",
      "label": "Json Error Stack Display",
      "name": "JsonStack.ToggleDisplay",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.traces.JsonStackToggleDisplayOperation",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "enableTrace",
          "order": 0,
          "type": "boolean",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "boolean"
      ],
      "since": "6.0",
      "url": "JsonStack.ToggleDisplay",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Replace a given permission on the input document(s). Returns the document(s).",
      "hierarchyPath": "/op:Document.ReplacePermission",
      "label": "Replace Permission",
      "name": "Document.ReplacePermission",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.ReplacePermission",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "id",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": true,
          "name": "permission",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": true,
          "name": "username",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "acl",
          "order": 0,
          "type": "string",
          "values": [
            "local"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "begin",
          "order": 0,
          "type": "date",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "comment",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "end",
          "order": 0,
          "type": "date",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "notify",
          "order": 0,
          "type": "boolean",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.ReplacePermission",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Execution Context",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Toggle Automation call tracing (you can set the 'enableTrace' parameter if you want to explicitly set the traceEnable value",
      "hierarchyPath": "/op:Traces.ToggleRecording",
      "label": "Traces.toggleRecording",
      "name": "Traces.ToggleRecording",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.traces.AutomationTraceToggleOperation",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "enableTrace",
          "order": 0,
          "type": "boolean",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "boolean"
      ],
      "url": "Traces.ToggleRecording",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Filter the input list of documents given a condition. The condition can be expressed using 4 parameters: types, facets, lifecycle and condition. If more than one parameter is specified an AND will be used to group conditions. <br>The 'types' parameter can take a comma separated list of document type: File,Note.<br>The 'facet' parameter can take a single facet name.<br> The 'life cycle' parameter takes a name of a life cycle state the document should have.<br>The 'condition' parameter can take any EL expression.<p>Returns the list of documents that match the filter condition.",
      "hierarchyPath": "/op:Document.Filter",
      "label": "Filter List",
      "name": "Document.Filter",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.FilterDocuments",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "class",
          "order": 0,
          "type": "string",
          "values": [
            "Any",
            "Regular Document",
            "Document Link",
            "Published Document",
            "Document Proxy",
            "Document Version",
            "Immutable Document",
            "Mutable Document"
          ],
          "widget": "Option"
        },
        {
          "description": null,
          "isRequired": false,
          "name": "condition",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "facet",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "lifecycle",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "pathStartsWith",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "types",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "documents",
        "documents"
      ],
      "url": "Document.Filter",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "AddEntryToMultivaluedProperty"
      ],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Add value into the field expressed by the xpath parameter. This field must be a multivalued metadata.<p> 'checkExists' parameter enables to add value only if doesn't already exists in the field: <ul><li> if checked, the value will not be added if it exists already in the list</li><li>if not checked the value will be always added</li</ul>.<p> Remark: <b>only works for a field that stores a list of scalars (string, boolean, date, int, long) and not list of complex types.<b>",
      "hierarchyPath": "/op:DocumentMultivaluedProperty.addItem",
      "label": "Add entry into multi-valued metadata",
      "name": "DocumentMultivaluedProperty.addItem",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.AddEntryToMultiValuedProperty",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "value",
          "order": 0,
          "type": "serializable",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": true,
          "name": "xpath",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "checkExists",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "save",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "DocumentMultivaluedProperty.addItem",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Document.AddACL"
      ],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Add Permission on the input document(s). Returns the document(s).",
      "hierarchyPath": "/op:Document.AddPermission",
      "label": "Add Permission",
      "name": "Document.AddPermission",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.AddPermission",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "permission",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": true,
          "name": "username",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "acl",
          "order": 0,
          "type": "string",
          "values": [
            "local"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "begin",
          "order": 0,
          "type": "date",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "blockInheritance",
          "order": 0,
          "type": "boolean",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "comment",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "end",
          "order": 0,
          "type": "date",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "notify",
          "order": 0,
          "type": "boolean",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.AddPermission",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Set multiple properties on the input document. The properties are specified as <i>key=value</i> pairs separated by a new line. The key used for a property is the property xpath. To specify multi-line values you can use a \\ character followed by a new line. <p>Example:<pre>dc:title=The Document Title<br>dc:description=foo bar</pre>For updating a date, you will need to expose the value as ISO 8601 format, for instance : <p>Example:<pre>dc:title=The Document Title<br>dc:issued=@{org.nuxeo.ecm.core.schema.utils.DateParser.formatW3CDateTime(CurrentDate.date)}</pre><p>Returns back the updated document.<p>To update a multi-valued field with multiple values:<pre>custom:multivalued=a,b,c,d</pre>",
      "hierarchyPath": "/op:Document.Update",
      "label": "Update Properties",
      "name": "Document.Update",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.UpdateDocument",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "properties",
          "order": 0,
          "type": "properties",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "changeToken",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "save",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.Update",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Remove a permission given its id or all permissions for a given user on the input document(s). Parameter 'id' or 'user' must be set. Returns the document(s).",
      "hierarchyPath": "/op:Document.RemovePermission",
      "label": "Remove Permission",
      "name": "Document.RemovePermission",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.RemovePermission",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "acl",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "id",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "user",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.RemovePermission",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Execution Context",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Restore the document list input from a context variable given its name. Return the document list.",
      "hierarchyPath": "/op:Context.RestoreDocumentsInput",
      "label": "Restore Documents Input",
      "name": "Context.RestoreDocumentsInput",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.RestoreDocumentsInput",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "name",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "documents"
      ],
      "url": "Context.RestoreDocumentsInput",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Document",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Create a new document in the input folder. You can initialize the document properties using the 'properties' parameter. The properties are specified as <i>key=value</i> pairs separated by a new line. The key used for a property is the property xpath. To specify multi-line values, you can use a \\ character followed by a new line. <p>Example:<pre>dc:title=The Document Title<br>dc:description=foo bar</pre>. Returns the created document.",
      "hierarchyPath": "/op:Document.Create",
      "label": "Create",
      "name": "Document.Create",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.document.CreateDocument",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "type",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "name",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "properties",
          "order": 0,
          "type": "properties",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "Document.Create",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Context.RunScript"
      ],
      "category": "Scripting",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Run a script which content is specified as text in the 'script' parameter",
      "hierarchyPath": "/op:RunScript",
      "label": "Run Script",
      "name": "RunScript",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.RunScript",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "script",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": "TextArea"
        }
      ],
      "signature": [
        "void",
        "void"
      ],
      "url": "RunScript",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [
        "Context.RunDocumentOperation"
      ],
      "category": "Execution Flow",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Run an operation chain which is returning a document in the current context. The input for the chain ro run is the current input of the operation. Return the output of the chain as a document. The 'parameters' injected are accessible in the subcontext ChainParameters. For instance, @{ChainParameters['parameterKey']}.",
      "hierarchyPath": "/op:RunDocumentOperation",
      "label": "Run Document Chain",
      "name": "RunDocumentOperation",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.execution.RunDocumentChain",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "id",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "isolate",
          "order": 0,
          "type": "boolean",
          "values": [
            "false"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "newTx",
          "order": 0,
          "type": "boolean",
          "values": [
            "false"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "parameters",
          "order": 0,
          "type": "properties",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "rollbackGlobalOnError",
          "order": 0,
          "type": "boolean",
          "values": [
            "true"
          ],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "timeout",
          "order": 0,
          "type": "integer",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "url": "RunDocumentOperation",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Files",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Creates a zip file from the input file(s). If no file name is given, the first file name in the input will be used. Returns the zip file.",
      "hierarchyPath": "/op:Blob.CreateZip",
      "label": "Zip",
      "name": "Blob.CreateZip",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.blob.CreateZip",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "filename",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "bloblist",
        "blob",
        "blob",
        "blob"
      ],
      "url": "Blob.CreateZip",
      "version": "7.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Execution Context",
      "contributingComponent": "org.nuxeo.ecm.core.automation.coreContrib",
      "description": "Run a script and return the result blob object of the script the output of the operation",
      "hierarchyPath": "/op:Context.RestoreBlobInputFromScript",
      "label": "Restore input blob from a script",
      "name": "Context.RestoreBlobInputFromScript",
      "operationClass": "org.nuxeo.ecm.automation.core.operations.RestoreBlobInputFromScript",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "script",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": "TextArea"
        }
      ],
      "signature": [
        "void",
        "blob"
      ],
      "url": "Context.RestoreBlobInputFromScript",
      "version": "7.10"
    }
  ],
  "packages": [],
  "pluginSnapshots": {},
  "releaseDate": 1447023600000,
  "version": "7.10"
}